#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stack>
#include<queue>
#include<vector>
#include<list>
#include"Stack.h"
using namespace std;
#include"queue.h"
#include"priority_queue.h"

int main()
{
	int a[] = { 1,4,2,5,6,3,2 };
	LF::priority_queue<int> pq1(a, a + sizeof(a)/sizeof(int));

	//priority_queue<int> pq;
	LF::priority_queue<int,vector<int>,less<int>> pq;
	pq.push(15);
	pq.push(2);
	pq.push(31);
	pq.push(4);

	while (!pq.empty())
	{
		cout << pq.top() << " ";
		pq.pop();
	}
	cout << endl;

	//pq.pop();
	//while (!pq.empty())
	//{
	//	cout << pq.top() << " ";
	//	pq.pop();
	//}
	//cout << endl;
	return 0;
}

//int main()
//{
//	LF::queue<int, list<int>> q;
//		q.push(1);
//		q.push(2);
//		q.push(3);
//		q.push(4);
//	
//		while (!q.empty())
//		{
//			cout << q.front() << " ";
//			q.pop();
//		}
//		cout << endl;
//	
//	return 0;
//}

//int main()
//{
//	//LF::stack<int,vector<int>> st;
//	LF::stack<int,list<int>> st;
//	st.push(1);
//	st.push(2);
//	st.push(3);
//	st.push(4);
//
//	while (!st.empty())
//	{
//		cout << st.top() << " ";
//		st.pop();
//	}
//	cout << endl;
//
//	return 0;
//}